/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.objetos;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

/**
 *
 * @author KOMATSU
 */
public class RelatorioMetodos {
    private String filtromes = "";
    
    private String filtroano = "";
            
    private List meses = new ArrayList();
    
    private List anos = new ArrayList();
    
    private String mensagem = "";
    
    private List listaProdutos = new ArrayList();
    
    public RelatorioMetodos(){
        String mes = "Janeiro";
        meses.add(mes);
        mes="Fevereiro";
        meses.add(mes);
        mes="Marco";
        meses.add(mes);
        mes="Abril";
        meses.add(mes);
        mes="Maio";
        meses.add(mes);
        mes="Junho";
        meses.add(mes);
        mes="Julho";
        meses.add(mes);
        mes="Agosto";
        meses.add(mes);
        mes="Setembro";
        meses.add(mes);
        mes="Outubro";
        meses.add(mes);
        mes="Novembro";
        meses.add(mes);
        mes="Dezembro";
        meses.add(mes);
        String ano = "2011";
        anos.add(ano);
        ano = "2012";
        anos.add(ano);
        ano = "2013";
        anos.add(ano);
        ano = "2014";
        anos.add(ano);
        ano = "2015";
        anos.add(ano);
    }
    
    /**
     *
     * Metodo Buscar Produtos Vendidos
     * Pega produtos vendidos do banco
     * de acordo com o filtro de mes e ano
     * feito na sql
    */
    
    public void buscarProdutos() {
        Conexao con = new Conexao();
        try {
            
            con.inicia();
            if(filtromes.equals("1")){
                filtromes="01";
            }
            if(filtromes.equals("2")){
                filtromes="02";
            }
            String query = "select tipo,descricao,sum(qtde),data,preco from bars.pedido natural join bars.conta natural join bars.produto "
                    + "where data like '%"+filtromes+"/"+filtroano+"' group by data,descricao,tipo,preco order by data";
            ResultSet rs = con.executa(query);
            listaProdutos.clear();
            while (rs.next()) {
                Produto p = new Produto();
                DecimalFormat df = new DecimalFormat ("#,##0.00", new DecimalFormatSymbols (new Locale ("pt", "BR"))); 
                p.setPreco(df.parse(rs.getString("preco")).toString());
                p.setDescricao(rs.getString("descricao"));
                p.setData(rs.getString("data"));
                p.setTipo(rs.getString("tipo"));
                p.setQdade(Integer.toString(rs.getInt("sum")));
                listaProdutos.add(p);
            }
            
            rs.close();
        } catch (Exception e) {
            this.setMensagem(e.getMessage());
            System.out.println(e.getMessage());
        } finally {
            try {
                con.encerra();
            } catch (SQLException closeE) {
                this.setMensagem(closeE.getMessage());
            }
        }
    }
   
    public List getAnos() {
        return anos;
    }

    public void setAnos(List anos) {
        this.anos = anos;
    }

    public List getMeses() {
        return meses;
    }

    public void setMeses(List meses) {
        this.meses = meses;
    }

    public String getFiltroano() {
        return filtroano;
    }

    public void setFiltroano(String filtroano) {
        this.filtroano = filtroano;
    }

    public String getFiltromes() {
        return filtromes;
    }

    public void setFiltromes(String filtromes) {
        this.filtromes = filtromes;
    }

    public String getMensagem() {
        return mensagem;
    }

    public void setMensagem(String mensagem) {
        this.mensagem = mensagem;
    }

    public List getListaProdutos() {
        return listaProdutos;
    }

    public void setListaProdutos(List listaProdutos) {
        this.listaProdutos = listaProdutos;
    }
    
    
}
